// 几种情况:
// 1.只有一个9100，删除
// 2.9100-9101,变化为9101，
// 3.9100-9102,变化为9101-9102，
// 4.9098-9101,变化为9098-9099，9101
// 5.9099-9102,变化为9099，9101-9102
// 6.9099-9100,变化为9099
// 7.9099-9101,变化为9099，9101，
// 8.9098-9102,变化为9098-9099，9011-9102
const assembleArray = arr => {
  if (arr.length === 0) {
    return ''; // 如果数组为空，返回空字符串
  } else if (arr.length === 1) {
    return arr[0].toString(); // 如果数组只有一个元素，返回该元素的字符串表示
  } else {
    // 如果数组有多个元素，组装成范围字符串
    const start = arr[0];
    const end = arr[arr.length - 1];
    return `${start}-${end}`;
  }
};
const CutArray = (sum, current = 9100) => {
  const [start, end] = sum.split('-');
  let ranges = [];
  let currentIndex;
  // 将0-6000样式从组为数组
  for (let i = Number(start); i <= Number(end); i++) {
    ranges.push(Number(i));
  }
  // 如果没有目标数据及返回数组本身
  if (
    ranges.find((r, i) => {
      if (r === current) {
        currentIndex = i;
        return true;
      }
    })
  ) {
    const firstPart = ranges.slice(0, currentIndex);
    const secondPart = ranges.slice(currentIndex + 1);
    return [].concat(
      ...[assembleArray(firstPart), assembleArray(secondPart)].filter(
        arr => arr.length > 0 && !arr.includes(null)
      )
    );
  } else {
    return sum;
  }
};
export default CutArray;
